package cn.schoolwow.workflow.module.task.query.kit;

import cn.schoolwow.quickdao.domain.database.dql.response.PageVo;
import cn.schoolwow.workflow.domain.task.WorkFlowTaskQuery;
import cn.schoolwow.workflow.domain.task.WorkFlowTaskResponse;

import java.util.List;

public interface WorkFlowTaskQueryService {
    /**
     * 获取工作流任务个数
     * @param workFlowTaskQuery 任务查询请求
     * */
    long getWorkFlowTaskCount(WorkFlowTaskQuery workFlowTaskQuery);

    /**
     * 查询单个待办任务列表
     * @param workFlowTaskQuery 任务查询请求
     * */
    WorkFlowTaskResponse getSingleWorkFlowTask(WorkFlowTaskQuery workFlowTaskQuery);

    /**
     * 查询任务列表
     * @param workFlowTaskQuery 任务查询请求
     * */
    List<WorkFlowTaskResponse> getWorkFlowTaskList(WorkFlowTaskQuery workFlowTaskQuery);

    /**
     * 分页查询任务列表
     * @param workFlowTaskQuery 任务查询请求
     * @param pageNumber 页码
     * @param pageSize 每页个数
     * */
    PageVo<WorkFlowTaskResponse> getWorkFlowTaskPagingList(WorkFlowTaskQuery workFlowTaskQuery, int pageNumber, int pageSize);

}
